export {}

// 1.数组排序
// function sortFn(arr:number[]){
//     const brr=[...arr]
//     brr.sort((x,y)=>x-y)
//     return brr;
// }
// console.log(sortFn([5,3,6,2,4,7,1]));

// function sortFn(arr:number[]){
//     const brr=[...arr]
//     brr.sort((x,y)=>x-y)
//     return brr;
// }
// console.log(sortFn([6,2,4,1,7,3,8]));

function sortFn(arr:number[]){
    const brr=[...arr]
    brr.sort((x,y)=>x-y)
    return brr;
}
console.log(sortFn([5,2,4,1,6,7]));


// 2.求最大值求最小值
// function maxFn(arr:number[]){
//     return Math.max(...arr)
// }
// function minFn(arr:number[]){
//     return Math.min(...arr)
// }
// console.log(maxFn([11,22,33,44]));
// console.log(minFn([11,22,33,44]));

// function maxFn(arr:number[]){
//     return Math.max(...arr)
// }
// function minFn(arr:number[]){
//     return Math.min(...arr)
// }
// console.log(maxFn([64,24,77]));
// console.log(minFn([64,24,77]));

function maxFn(arr:number[]){
    return Math.max(...arr)
}
function minFn(arr:number[]){
    return Math.min(...arr)
}
console.log(maxFn([23,12,64]));
console.log(minFn([23,12,64]));


// 3.计算数组差值
// function maxFun(arr:number[]){
//     return Math.max(...arr)
// }
// function minFun(arr:number[]){
//     return Math.min(...arr)
// }
// console.log(maxFun([11,43,5,66])-minFun([11,43,5,66]));

// function maxFun(arr:number[]){
//     return Math.max(...arr)
// }
// function minFun(arr:number[]){
//     return Math.min(...arr)
// }
// console.log(maxFun([33,54,12,65,2])-minFun([33,54,12,65,2]));

function maxFun(arr:number[]){
    return Math.max(...arr)
}
function minFun(arr:number[]){
    return Math.min(...arr)
}
console.log(maxFun([65,22,36,17,75])-minFun([65,22,36,17,75]));


// 4.数组去重
// function unArr<T>(arr:T[]){
//   return [...new Set(arr)]
// }
// console.log(unArr<number>([3,5,2,5,3,8,6,9]));
// const newArr=unArr<number>([3,5,2,5,3,8,6,9])
// function sumFn(arr:number[]){
//     return arr.reduce((cur,item)=>cur+item,0)
// }
// const sum=sumFn(newArr)
// console.log(sum);

// function unArr<T>(arr:T[]){
//     return [...new Set(arr)]
// }
// console.log(unArr<number>([4,2,5,1,6,3,4,2]));
// const newArr=unArr<number>([4,2,5,1,6,3,4,2])
// function sumFn(arr:number[]){
//     return arr.reduce((cur,item)=>cur+item,0)
// }
// const sum=sumFn(newArr)
// console.log(sum);

// function unArr<T>(arr:T[]){
//     return [...new Set(arr)]
// }
// console.log(unArr<number>([5,3,6,2,3,5,7,1]));
// const newArr=unArr<number>([5,3,6,2,3,5,7,1])
// function sumFn(arr:number[]){
//     return arr.reduce((cur,item)=>cur+item,0)
// }
// const sum=sumFn(newArr)
// console.log(sum);

function unArr<T>(arr:T[]){
    return [...new Set(arr)]
}
console.log(unArr<number>([5,2,6,8,4,5,2,7]));
const newArr=unArr<number>([5,2,6,8,4,5,2,7])
function sumFn(arr:number[]){
    return arr.reduce((cur,item)=>cur+item,0)
}
const sum=sumFn(newArr)
console.log(sum);


// 5.继承
// abstract class Person{
//     name:string
//     age:number
//     constructor(n:string,a:number){
//         this.name=n
//         this.age=a
//     }
// }
// class p1 extends Person{
// }
// const pone=new p1('王林涛',22)
// console.log(pone);

// abstract class Person{
//     name:string
//     age:number
//     constructor(n:string,a:number){
//         this.name=n
//         this.age=a
//     }
// }
// class P1 extends Person{
// }
// const Pone=new P1('王林涛',23)
// console.log(Pone);

abstract class Person{
    name:string
    age:number
    constructor(n:string,a:number){
        this.name=n
        this.age=a
    }
}
class P1 extends Person{
}
const Pone=new P1('王林涛',23)
console.log(Pone);




